#ifndef ARRAY_DOUBLE_PARAM_H
#define ARRAY_DOUBLE_PARAM_H

#include "SingleDoubleParam.h"
#include "InvalidIndex.h"
#include "Util.h"

class ArrayDoubleParam: public Param {
protected:
	SingleDoubleParam *values;
	int size;
	char label;

	SingleDoubleParam &get( int i ) throw (InvalidIndex, NotReady);

public:
	ArrayDoubleParam();
	ArrayDoubleParam( int size, char iName, const char *name );
	ArrayDoubleParam( ArrayDoubleParam &src );
	~ArrayDoubleParam();
	
	void read( Input &input ) throw (NotReady);
	
	SingleDoubleParam &operator [] (int i) throw (InvalidIndex, NotReady);

	void setSize( int size ) throw (NotReady, Exception);
	void setLabel( char label ) throw (NotReady);
	int getSize() throw (NotReady);
	char getLabel() throw (NotReady);
};

#endif